package com.beiben.work.process.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.core.domain.entity.SysDept;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.util.Date;

/**
 * 文件任务管理对象 work_file_process
 *
 * @author xgq
 * @date 2020-08-26
 */
public class FileProcess extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    private Long workId;

    /**
     * 父级ID
     */
    private Long parentId;

    /**
     * 部门ID
     */
    private Long deptId;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 部门
     */
    private SysDept dept;

    private String deptName;

    /**
     * 任务名称
     */
    @Excel(name = "任务名称")
    private String workName;

    /**
     * 工作内容
     */
    @Excel(name = "工作内容")
    private String workContent;

    /**
     * 风险等级
     */
    @Excel(name = "风险等级")
    private Integer riskGrade;

    /**
     * 任务来源
     */
    @Excel(name = "任务来源")
    private Integer workSource;

    /**
     * 输出物名称
     */
    @Excel(name = "输出物名称")
    private String submitName;

    /**
     * 是否提交见证性材料（Y：是，N：否）
     */
    @Excel(name = "是否提交见证性材料")
    private String isSubmitFile;

    /**
     * 是否属于设计问题（Y：是，N：否）
     */
    @Excel(name = "是否属于设计问题")
    private String isDesignProblem;

    /**
     * 开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /**
     * 结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date finishTime;

    /**
     * 实际任务完成时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "实际任务完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date realFinishTime;

    /**
     * 是否超时
     */
    @Excel(name = "是否超时")
    private String isTimeOut;

    /**
     * 任务状态
     */
    @Excel(name = "任务状态")
    private Integer state;

    public void setWorkId(Long workId) {
        this.workId = workId;
    }

    public Long getWorkId() {
        return workId;
    }

    public void setParentId(Long parentId) {
        this.parentId = parentId;
    }

    public Long getParentId() {
        return parentId;
    }

    public void setWorkName(String workName) {
        this.workName = workName;
    }

    public String getWorkName() {
        return workName;
    }

    public void setWorkContent(String workContent) {
        this.workContent = workContent;
    }

    public String getWorkContent() {
        return workContent;
    }

    public void setRiskGrade(Integer riskGrade) {
        this.riskGrade = riskGrade;
    }

    public Integer getRiskGrade() {
        return riskGrade;
    }

    public void setWorkSource(Integer workSource) {
        this.workSource = workSource;
    }

    public Integer getWorkSource() {
        return workSource;
    }

    public void setSubmitName(String submitName) {
        this.submitName = submitName;
    }

    public String getSubmitName() {
        return submitName;
    }

    public void setIsSubmitFile(String isSubmitFile) {
        this.isSubmitFile = isSubmitFile;
    }

    public String getIsSubmitFile() {
        return isSubmitFile;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setFinishTime(Date finishTime) {
        this.finishTime = finishTime;
    }

    public Date getFinishTime() {
        return finishTime;
    }

    public void setIsTimeOut(String isTimeOut) {
        this.isTimeOut = isTimeOut;
    }

    public String getIsTimeOut() {
        return isTimeOut;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public Integer getState() {
        return state;
    }

    public Date getRealFinishTime() {
        return realFinishTime;
    }

    public void setRealFinishTime(Date realFinishTime) {
        this.realFinishTime = realFinishTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("workId", getWorkId())
                .append("parentId", getParentId())
                .append("workName", getWorkName())
                .append("workContent", getWorkContent())
                .append("riskGrade", getRiskGrade())
                .append("workSource", getWorkSource())
                .append("submitName", getSubmitName())
                .append("isSubmitFile", getIsSubmitFile())
                .append("startTime", getStartTime())
                .append("finishTime", getFinishTime())
                .append("realFinishTime", getRealFinishTime())
                .append("isTimeOut", getIsTimeOut())
                .append("state", getState())
                .append("createTime", getCreateTime())
                .append("createBy", getCreateBy())
                .append("updateTime", getUpdateTime())
                .append("updateBy", getUpdateBy())
                .toString();
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public SysDept getDept() {
        return dept;
    }

    public void setDept(SysDept dept) {
        this.dept = dept;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getIsDesignProblem() {
        return isDesignProblem;
    }

    public void setIsDesignProblem(String isDesignProblem) {
        this.isDesignProblem = isDesignProblem;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }
}
